package com.newtouch.xcd.cms.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 信托立项
 * </p>
 *
 * @author dongyuefeng
 * @since 2020-05-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("5k_trust")
@ApiModel(value="Trust对象", description="信托立项")
public class Trust implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "trust_id", type = IdType.AUTO)
    private Integer trustId;

    @ApiModelProperty(value = "编辑次数")
    @TableField("edit_num")
    private Integer editNum;

    @ApiModelProperty(value = "项目编号")
    @TableField("number")
    private String number;

    @ApiModelProperty(value = "信托编号")
    @TableField("xt_number")
    private String xtNumber;

    @ApiModelProperty(value = "客户名称")
    @TableField("customer_id")
    private Integer customerId;

    @ApiModelProperty(value = "信托规模")
    @TableField("scale")
    private String scale;

    @ApiModelProperty(value = "信托类型：1、家族理财信托  2、家族保障信托   3、其他类型")
    @TableField("type")
    private String type;

    @ApiModelProperty(value = "客户类型   1:股东客户   2：非股东客户")
    @TableField("customer_type")
    private String customerType;

    @ApiModelProperty(value = "身份证类型：1、身份证号  2、护照  3、其他")
    @TableField("card_type")
    private String cardType;

    @ApiModelProperty(value = "信托目的：1、家族信托 2、家庭（mini）信托 3、固定期限信托 4、非固定期限信托  5、其他类型信托  ")
    @TableField("objective")
    private String objective;

    @ApiModelProperty(value = "假如 objective等于6或者7  此处有值")
    @TableField("objective_type")
    private String objectiveType;

    @ApiModelProperty(value = "证件号码")
    @TableField("identification")
    private String identification;

    @ApiModelProperty(value = "受益人：1、连续受益人 2、并列受益人")
    @TableField("beneficiary")
    private String beneficiary;

    @ApiModelProperty(value = "初始受益人：1、3人以内 2、3-8人  3/8人以上")
    @TableField("initial")
    private String initial;

    @ApiModelProperty(value = "分配项目：1、3类以内 2、3-8类  3/8类以上")
    @TableField("project")
    private String project;

    @ApiModelProperty(value = "投入资产类型：1、现金  2、股权  3、房地产  4、财产权益")
    @TableField("assets")
    private String assets;

    @ApiModelProperty(value = "联系方式")
    @TableField("information")
    private String information;

    @ApiModelProperty(value = "资金管理")
    @TableField("fund")
    private String fund;

    @ApiModelProperty(value = "信托现金")
    @TableField("cash")
    private String cash;

    @ApiModelProperty(value = "信托股权")
    @TableField("equity")
    private String equity;

    @ApiModelProperty(value = "信托房产")
    @TableField("property")
    private String property;

    @ApiModelProperty(value = "信托财产权益")
    @TableField("interests")
    private String interests;

    @ApiModelProperty(value = "信托其他")
    @TableField("other")
    private String other;

    @ApiModelProperty(value = "信托设立费")
    @TableField("fee")
    private String fee;

    @ApiModelProperty(value = "信托年度管理费")
    @TableField("annual")
    private String annual;

    @ApiModelProperty(value = "信托合并收费")
    @TableField("lidate")
    private String lidate;

    @ApiModelProperty(value = "信托受托人")
    @TableField("trustee")
    private String trustee;

    @ApiModelProperty(value = "信托保护人")
    @TableField("protector")
    private String protector;

    @ApiModelProperty(value = "审核状态")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "审批排序")
    @TableField("order_id")
    private Integer orderId;

    @ApiModelProperty(value = "审批人")
    @TableField("examine_role_id")
    private Integer examineRoleId;

    @ApiModelProperty(value = "负责人")
    @TableField("charge")
    private String charge;

    @ApiModelProperty(value = "操作")
    @TableField("operation")
    private Integer operation;

    @ApiModelProperty(value = "创建者ID")
    @TableField("creator_role_id")
    private Integer creatorRoleId;

    @ApiModelProperty(value = "所有者岗位")
    @TableField("owner_role_id")
    private Integer ownerRoleId;

    @ApiModelProperty(value = "删除人")
    @TableField("delete_role_id")
    private Integer deleteRoleId;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Integer createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Integer updateTime;

    @ApiModelProperty(value = "是否删除")
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;

    @ApiModelProperty(value = "信托目的")
    @TableField("xintuomudi")
    private String xintuomudi;

    @ApiModelProperty(value = "信托目的具体")
    @TableField("xtmd_type")
    private String xtmdType;

    @ApiModelProperty(value = "信托规模")
    @TableField("objective_guimo")
    private String objectiveGuimo;

    @ApiModelProperty(value = "资金管理")
    @TableField("zjgli")
    private String zjgli;

    @ApiModelProperty(value = "非资金管理")
    @TableField("fzjgli")
    private String fzjgli;

    @ApiModelProperty(value = "固定内容")
    @TableField("gd_content")
    private String gdContent;

    @ApiModelProperty(value = "非固定内容")
    @TableField("fgd_content")
    private String fgdContent;

    @ApiModelProperty(value = "其他内容")
    @TableField("other_content")
    private String otherContent;

    @ApiModelProperty(value = "费用分割")
    @TableField("fyfge")
    private String fyfge;

    @ApiModelProperty(value = "信托财产类型")
    @TableField("objectivecc")
    private String objectivecc;

    @ApiModelProperty(value = "具体信托财产类型")
    @TableField("other_type")
    private String otherType;

    @ApiModelProperty(value = "受托人ID")
    @TableField("shoutuoren")
    private Integer shoutuoren;

    @ApiModelProperty(value = "具体资金管理方式")
    @TableField("jtyyfs")
    private String jtyyfs;

    @ApiModelProperty(value = "委托人名称")
    @TableField("client")
    private String client;

    @ApiModelProperty(value = "证件类型 1身份证  2护照  3其他")
    @TableField("client_card_type")
    private Integer clientCardType;

    @ApiModelProperty(value = "委托人证件号码")
    @TableField("client_identification")
    private String clientIdentification;

    @ApiModelProperty(value = "项目成立日")
    @TableField("sign_time")
    private Integer signTime;

    @ApiModelProperty(value = "首次签约现金规模")
    @TableField("first_sign_cash")
    private BigDecimal firstSignCash;

    @ApiModelProperty(value = "首次签约财产权规模")
    @TableField("first_sign_property")
    private BigDecimal firstSignProperty;

    @ApiModelProperty(value = "首次签约总规模")
    @TableField("first_sign_sum")
    private BigDecimal firstSignSum;

    @ApiModelProperty(value = "累计成立规模")
    @TableField("accumulative_sign")
    private BigDecimal accumulativeSign;

    @ApiModelProperty(value = "受托人费率")
    @TableField("trustee_rate")
    private BigDecimal trusteeRate;

    @ApiModelProperty(value = "保护人费")
    @TableField("protector_rate")
    private BigDecimal protectorRate;


}
